/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controllers;

import entity.*;
import java.util.ArrayList;
import constants.*;
public class MainController {
    public  int addAll(Customer customer,InfoBooking info,ArrayList<Room> room){
            int id_customer=CustomerController.insert(customer);
            System.out.println("Thêm khách hàng thành công");
            if(id_customer>0){
              if(InfoBookController.insert(id_customer,info))                  
                System.out.println("Thêm thông tin đặt phòng thành công");              
                RoomController.insertToListBooking(id_customer, room);
                System.out.println("Thêm thông tin phòng thành công");
                return id_customer;
            }
            Validate.message="Thêm đặt hàng thành công";
            return -1;    
    }
    public  void removeAll(int id){
            RoomController.removeFromListBooking(id);
            System.out.println("Gỡ phòng khỏi danh sách đặt phòng thành công");
            BookingController.remove(id);
            System.out.println("Xóa danh sách phòng thành công ");
            CustomerController.remove(id);             
            System.out.println("Xóa khách hàng thành công");
            InfoBookController.remove(id);
            System.out.println("Xóa thông tin đặt hàng thành công ");
            Validate.message="Xóa thông tin thành công";
    }
    public void updateAll(Customer customer, InfoBooking info,ArrayList<Room> room){
            CustomerController.update(customer);
            System.out.println("Update thông tin khách hàng thành công");
            InfoBookController.update(info);
            System.out.println("Update thông tin đặt phòng thành công");        
            RoomController.removeFromListBooking(customer.getId());
            System.out.println("Xóa dữ liệu phòng đã đặt và đưa các phòng về trạng thái trống");
            RoomController.insertToListBooking(customer.getId(),room);
            System.out.println("Cập nhật thông tin các phòng đặt");
            Validate.message="Update thành công";
    }
    public  void checkIn(int idcustomer, InfoBooking info,ArrayList<Room> room){
            InfoBookController.update(info); 
            System.out.println("Update thông tin đặt phòng thành công");
            RoomController.updateStatusInList(room,Constants.CHECKIN);
            InfoBookController.updateStatus(idcustomer,Constants.STATUS_CHECKIN);            
            System.out.println("Check out thành công");
            Validate.message="Check in thành công";
    }
    public void checkOut(int idcustomer,ArrayList<Room> room){
            RoomController.updateStatusInList(room,Constants.EMPTY);
            InfoBookController.updateStatus(idcustomer,Constants.STATUS_CHECKOUT);
            System.out.println("Check out thành công");
            Validate.message="Check out thành công";
    }
   public  int totalCost(ArrayList<Room> room){
       int total=0;
       for(int i=0;i<room.size();i++){
           total =total+room.get(i).getRoomtype().getCost();
       }       
       return total;
   }
   public boolean checkRoomExist(String name){
                 
       return false;
   }
     
}
